package server.sessions;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;

/**
 * Registro contenete corrispondenze IP-DatiUtente
 * @author cl400782
 *
 */

public class RegistroSessioni {
	
	//as Singleton
	private static RegistroSessioni gestoreSessioni = new RegistroSessioni();
	
	private RegistroSessioni() {
		this.datiDefault = new DatiUtente(null,"Sconosciuto","Sconosciuta");
		registroUtenti.put(null, datiDefault);
		
	}
	
	public static RegistroSessioni getGestoreSessioni() {
		return gestoreSessioni;
	}
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//as Class
	
	private HashMap<String, DatiUtente> registroUtenti = new HashMap<String, DatiUtente>();
	private DatiUtente datiDefault;
	private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yy hh:mm:ss");
	
	
	
	
	public void registraUtente(String IP, String nome){
		
		if (!verificaPresenza(IP)) {
			registroUtenti.put(IP, new DatiUtente(IP, nome, formatter.format(Calendar.getInstance().getTime())));
		}
	}

	
	public DatiUtente getDatiUtente(String IP){
		if (verificaPresenza(IP)) {
			return registroUtenti.get(IP);
		} else {
			return datiDefault;
		}
		

		
	}
	
	public boolean verificaPresenza(String IP){
		if (!registroUtenti.containsKey(IP)) {
			return false;
		}
		
		return true;
	}

}
